|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JTree
com.virtualweaver.xotics.editing.renderer.XoTreeRenderer
This is the abstract class of a renderer representing an XML document as a tree. It can be derived to implement specific rendering. It manages DnD and reflects automatically rendered document changes. This class and derived are examples of renderer implementation.
| Nested Class Summary |
| Nested classes inherited from class javax.swing.JTree |
javax.swing.JTree.AccessibleJTree, javax.swing.JTree.DynamicUtilTreeNode, javax.swing.JTree.EmptySelectionModel, javax.swing.JTree.TreeModelHandler, javax.swing.JTree.TreeSelectionRedirector |
| Nested classes inherited from class javax.swing.JComponent |
javax.swing.JComponent.AccessibleJComponent |
| Nested classes inherited from class java.awt.Container |
java.awt.Container.AccessibleAWTContainer |
| Nested classes inherited from class java.awt.Component |
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
| Field Summary |
| Fields inherited from class javax.swing.JTree |
ANCHOR_SELECTION_PATH_PROPERTY, CELL_EDITOR_PROPERTY, CELL_RENDERER_PROPERTY, cellEditor, cellRenderer, editable, EDITABLE_PROPERTY, EXPANDS_SELECTED_PATHS_PROPERTY, INVOKES_STOP_CELL_EDITING_PROPERTY, invokesStopCellEditing, LARGE_MODEL_PROPERTY, largeModel, LEAD_SELECTION_PATH_PROPERTY, ROOT_VISIBLE_PROPERTY, rootVisible, ROW_HEIGHT_PROPERTY, rowHeight, SCROLLS_ON_EXPAND_PROPERTY, scrollsOnExpand, SELECTION_MODEL_PROPERTY, selectionModel, selectionRedirector, SHOWS_ROOT_HANDLES_PROPERTY, showsRootHandles, TOGGLE_CLICK_COUNT_PROPERTY, toggleClickCount, TREE_MODEL_PROPERTY, treeModel, treeModelListener, VISIBLE_ROW_COUNT_PROPERTY, visibleRowCount |
| Fields inherited from class javax.swing.JComponent |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
| Fields inherited from class java.awt.Component |
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| Fields inherited from interface java.awt.image.ImageObserver |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| Constructor Summary | |
XoTreeRenderer()
An XoDMRenderer class must have a constructor with no argument, as Xotics Editor instanciates
it automatically. |
|
| Method Summary | |
void |
addDropTargetListener(java.awt.dnd.DropTargetListener dtl)
Xotics Editor manages DnD feature between renderers to add, move or remove nodes. |
void |
addXoDMEditListener(XoDMEditListener l)
Renderer can send an XoDMEditEvent when node
is selected by an external way (any other way than select(XoNode) and
selectOver(int, int)). |
void |
childAdded(com.virtualweaver.xotics.datamodel.event.XoContainerEvent evt)
|
void |
childRemoved(com.virtualweaver.xotics.datamodel.event.XoContainerEvent evt)
|
abstract XoNodeCellRenderer |
createNodeCellRenderer(com.virtualweaver.xotics.datamodel.XoNode node)
This method must return an AWT component implementing XoNodeCellRenderer interface, used to
render specific node param node. |
void |
dragDropEnd(java.awt.dnd.DragSourceDropEvent dragSourceDropEvent)
|
void |
dragEnter(java.awt.dnd.DragSourceDragEvent dragSourceDragEvent)
|
void |
dragExit(java.awt.dnd.DragSourceEvent dragSourceEvent)
|
void |
dragGestureRecognized(java.awt.dnd.DragGestureEvent e)
|
abstract void |
dragGestureRecognized(java.awt.dnd.DragGestureEvent e,
com.virtualweaver.xotics.datamodel.XoNode target)
This method is called when a drag gesture is recognized on a node of document rendered, to let implementation choose whether and how to start a DnD process. |
void |
dragOver(java.awt.dnd.DragSourceDragEvent dragSourceDragEvent)
|
void |
dropActionChanged(java.awt.dnd.DragSourceDragEvent dragSourceDragEvent)
|
com.virtualweaver.xotics.datamodel.XoDMInstance |
getDMInstance()
Returns document currently rendered. |
int |
getRowHeight()
|
com.virtualweaver.xotics.datamodel.XoNode |
getSelected()
Returns currently selected node in the renderer. |
protected boolean |
isDisplayDocumentRoot()
Tells whether to represent the document root (i.e XoDMInstance) as the root of the tree. |
boolean |
isFixedRowHeight()
|
void |
propertyChange(java.beans.PropertyChangeEvent evt)
|
void |
removeDropTargetListener(java.awt.dnd.DropTargetListener dtl)
Opposite method of addDropTargetListener(DropTargetListener). |
void |
removeXoDMEditListener(XoDMEditListener l)
Renderer can send an XoDMEditEvent when node
is selected by an external way (any other way than select(XoNode) and
selectOver(int, int)). |
void |
select(com.virtualweaver.xotics.datamodel.XoNode n)
Forces the renderer to select a specific node xo. |
void |
selectOver(int x,
int y)
Forces the renderer to select (if possible) the closest node to position defined by ( x, y) params.
|
protected void |
setDisplayDocumentRoot(boolean displayDocumentRoot)
Tells whether to represent the document root (i.e XoDMInstance) as the root of the tree. |
void |
setDMInstance(com.virtualweaver.xotics.datamodel.XoDMInstance dm)
Sets the document to render. |
void |
setRowHeight(int rh)
|
| Methods inherited from class javax.swing.JTree |
addSelectionInterval, addSelectionPath, addSelectionPaths, addSelectionRow, addSelectionRows, addTreeExpansionListener, addTreeSelectionListener, addTreeWillExpandListener, cancelEditing, clearSelection, clearToggledPaths, collapsePath, collapseRow, convertValueToText, createTreeModel, createTreeModelListener, expandPath, expandRow, fireTreeCollapsed, fireTreeExpanded, fireTreeWillCollapse, fireTreeWillExpand, fireValueChanged, getAccessibleContext, getAnchorSelectionPath, getCellEditor, getCellRenderer, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getModel, getNextMatch, getPathBetweenRows, getPathBounds, getPathForLocation, getPathForRow, getPreferredScrollableViewportSize, getRowBounds, getRowCount, getRowForLocation, getRowForPath, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollsOnExpand, getSelectionCount, getSelectionModel, getSelectionPath, getSelectionPaths, getSelectionRows, getShowsRootHandles, getToggleClickCount, getToolTipText, getTreeExpansionListeners, getTreeSelectionListeners, getTreeWillExpandListeners, getUI, getUIClassID, getVisibleRowCount, hasBeenExpanded, isCollapsed, isCollapsed, isEditable, isEditing, isExpanded, isExpanded, isLargeModel, isPathEditable, isPathSelected, isRootVisible, isRowSelected, isSelectionEmpty, isVisible, makeVisible, paramString, removeDescendantSelectedPaths, removeDescendantToggledPaths, removeSelectionInterval, removeSelectionPath, removeSelectionPaths, removeSelectionRow, removeSelectionRows, removeTreeExpansionListener, removeTreeSelectionListener, removeTreeWillExpandListener, scrollPathToVisible, scrollRowToVisible, setAnchorSelectionPath, setCellEditor, setCellRenderer, setDragEnabled, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setModel, setRootVisible, setScrollsOnExpand, setSelectionInterval, setSelectionModel, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, startEditingAtPath, stopEditing, treeDidChange, updateUI |
| Methods inherited from class javax.swing.JComponent |
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update |
| Methods inherited from class java.awt.Container |
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
| Methods inherited from class java.awt.Component |
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public XoTreeRenderer()
XoDMRenderer class must have a constructor with no argument, as Xotics Editor instanciates
it automatically.
| Method Detail |
public boolean isFixedRowHeight()
public void setRowHeight(int rh)
public int getRowHeight()
public abstract XoNodeCellRenderer createNodeCellRenderer(com.virtualweaver.xotics.datamodel.XoNode node)
XoNodeCellRenderer interface, used to
render specific node param node. This method is called for each node of type
XoDMInstance and XoObject in the document rendered. It must return a new
instance of XoNodeCellRenderer at each call.
node - the node to render
node param
public abstract void dragGestureRecognized(java.awt.dnd.DragGestureEvent e,
com.virtualweaver.xotics.datamodel.XoNode target)
Transferable object containing target param,
provided node is an XoObject, then call e.startDrag() method.
If it's an XoDMInstance this method should not start DnD process.
This method can also do nothing if DnD start from this renderer is not allowed.
e - DnD drag gesture eventtarget - node on which drag gesture is recognized (correspond typically to an attempt to move
this node).protected boolean isDisplayDocumentRoot()
XoDMInstance) as the root of the tree.
this hides document root.protected void setDisplayDocumentRoot(boolean displayDocumentRoot)
XoDMInstance) as the root of the tree.
displayDocumentRoot - true if this renderer must represent document root,
false if this must hide document root.
public void addDropTargetListener(java.awt.dnd.DropTargetListener dtl)
throws java.util.TooManyListenersException
XoDMRenderer
addDropTargetListener in interface XoDMRendererdtl - a drop listener provided by Xotics Editor
java.util.TooManyListenersExceptionXoDMRenderer.addDropTargetListener(java.awt.dnd.DropTargetListener)public void addXoDMEditListener(XoDMEditListener l)
XoDMRendererXoDMEditEvent when node
is selected by an external way (any other way than XoDMRenderer.select(XoNode) and
XoDMRenderer.selectOver(int, int)). This method registers a listener interested in such events.
addXoDMEditListener in interface XoDMRendererl - an edit event listener to add.XoDMRenderer.addXoDMEditListener(com.virtualweaver.xotics.editing.event.XoDMEditListener)public com.virtualweaver.xotics.datamodel.XoDMInstance getDMInstance()
XoDMRenderer
getDMInstance in interface XoDMRendererXoDMRenderer.getDMInstance()public com.virtualweaver.xotics.datamodel.XoNode getSelected()
XoDMRenderer
getSelected in interface XoDMRendererXoDMRenderer.getSelected()public void removeDropTargetListener(java.awt.dnd.DropTargetListener dtl)
XoDMRendererXoDMRenderer.addDropTargetListener(DropTargetListener).
removeDropTargetListener in interface XoDMRendererdtl - a drop listener to remove, previously provided by Xotics EditorXoDMRenderer.removeDropTargetListener(java.awt.dnd.DropTargetListener)public void removeXoDMEditListener(XoDMEditListener l)
XoDMRendererXoDMEditEvent when node
is selected by an external way (any other way than XoDMRenderer.select(XoNode) and
XoDMRenderer.selectOver(int, int)). This method unregisters a listener interested in such events.
removeXoDMEditListener in interface XoDMRendererl - an edit event listener to remove.XoDMRenderer.removeXoDMEditListener(com.virtualweaver.xotics.editing.event.XoDMEditListener)public void select(com.virtualweaver.xotics.datamodel.XoNode n)
XoDMRendererxo. This node can belongs to
another DM instance than currently rendered one, or can be unselectable by this renderer because
it doesn't render such node ; in these cases, like in any other case where xo is not
renderable, currently selected node must be set to null, in order for XoDMRenderer.getSelected() to
return null.
This method must not fire any XoDMEditEvent.
select in interface XoDMRenderern - the new selected node, can be null to mean "unselect".XoDMRenderer.select(com.virtualweaver.xotics.datamodel.XoNode)
public void selectOver(int x,
int y)
XoDMRendererx, y) params.
If there is no node near the position, currently selected node must be set to null,
in order for XoDMRenderer.getSelected() to return null.
This method must not fire any XoDMEditEvent.
selectOver in interface XoDMRendererx - x position of a node to selecty - y position of a node to selectXoDMRenderer.selectOver(int, int)public void setDMInstance(com.virtualweaver.xotics.datamodel.XoDMInstance dm)
XoDMRenderer
setDMInstance in interface XoDMRendererdm - the DM instance representing an XML document to render.XoDMRenderer.setDMInstance(com.virtualweaver.xotics.datamodel.XoDMInstance)public void childAdded(com.virtualweaver.xotics.datamodel.event.XoContainerEvent evt)
childAdded in interface com.virtualweaver.xotics.datamodel.event.XoContainerListenerpublic void childRemoved(com.virtualweaver.xotics.datamodel.event.XoContainerEvent evt)
childRemoved in interface com.virtualweaver.xotics.datamodel.event.XoContainerListenerpublic void propertyChange(java.beans.PropertyChangeEvent evt)
propertyChange in interface java.beans.PropertyChangeListenerpublic void dragGestureRecognized(java.awt.dnd.DragGestureEvent e)
dragGestureRecognized in interface java.awt.dnd.DragGestureListenerpublic void dragDropEnd(java.awt.dnd.DragSourceDropEvent dragSourceDropEvent)
dragDropEnd in interface java.awt.dnd.DragSourceListenerpublic void dragEnter(java.awt.dnd.DragSourceDragEvent dragSourceDragEvent)
dragEnter in interface java.awt.dnd.DragSourceListenerpublic void dragExit(java.awt.dnd.DragSourceEvent dragSourceEvent)
dragExit in interface java.awt.dnd.DragSourceListenerpublic void dragOver(java.awt.dnd.DragSourceDragEvent dragSourceDragEvent)
dragOver in interface java.awt.dnd.DragSourceListenerpublic void dropActionChanged(java.awt.dnd.DragSourceDragEvent dragSourceDragEvent)
dropActionChanged in interface java.awt.dnd.DragSourceListener
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||